//
//  HMSoundTools.swift
//  4-06-OC单例
//
//  Created by 范英强 on 16/1/27.
//  Copyright © 2016年 范英强. All rights reserved.
//

import UIKit

class HMSoundTools: NSObject {
    
    
    //在Swift中 单例的格式和懒加载格式‘差不多’
    
    // 第一种
    static let sharedTools1:HMSoundTools = {
        let instance = HMSoundTools()
        return instance
    }()
    
    // 第二种
    static let sharedTools2:HMSoundTools = HMSoundTools()
    
    
    
    // 仿照OC的写法
    //方法内部不能用static修饰
    static var onceToken: dispatch_once_t = 0
    static var instance: HMSoundTools?
    class func sharedTools() -> HMSoundTools {
        
        //Unsafe 不安全的
        //Mutable var
        //Pointer 指针
        //<dispatch_once_t> 类型
        
        
        dispatch_once(&onceToken) { () -> Void in
            instance = HMSoundTools()
        }
        return instance!
        
    }

}
